package com.guqiao.mvvmlib.viewmodel;

import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;

/**
 * @author jiangyao
 * @date 2019-07-19 23:15
 * @des
 */
public abstract class BaseDataModel {

    private CompositeDisposable mCompositeDisposable;

    public BaseDataModel() {

    }

    // 添加订阅
    protected void addDisposable(Disposable disposable) {
        if (mCompositeDisposable == null) {
            mCompositeDisposable = new CompositeDisposable();
        }
        mCompositeDisposable.add(disposable);
    }

    // 移除订阅
    public void unDisposable() {
        if (mCompositeDisposable!= null && mCompositeDisposable.isDisposed()) {
            mCompositeDisposable.dispose();
        }
    }
}
